About Newton Register

Newton Register lets you pay for a shareware program with a
credit card via electronic mail.  Your payment will be sent
to the Kagi Shareware clearing house (or another, if you
prefer) and forwarded, minus a percentage, to the author. 
If you have PocketMoney (or any Newton application which
supports the Financial Package Posting Standard), the
transaction may be automatically entered into your records.

Requirements

Register supports but does not require the ScrollingDoPopup
extension; if you have the extension installed, you may try
to register any program installed on your Newton, not merely
those programs pre-configured in Registers menu.  If you
choose a program from beneath the In Your Extras line, see
the caveat below.
The program you are registering gets a chance to react to
your registration; for example, if the program has expired,
it might extend the expiration date.

Paying for a Program

To pay for a program, select it from the Program pop-up
menu, select the price,* and enter your credit card
information.  Then select Mail  from the envelope button;
Register will look up your name and address and generate the
proper form.  Double-check the form, then press the Mail
button.

*If youre unsure of the price, enter < followed by the most
youre willing to pay.  A clearing house which supports this
feature (none, as yet) will look up the proper amount and
bill it if its less than or equal to the figure you
specified.

Security

Note that Register merely sets up a mail message; the
responsibility for actually executing it is yours.  In
particular, you may not want to risk sending your credit
card number via email.  If demand warrants, in the future
Kagi Shareware may accept PGP encrypted credit card numbers.
 The normal encoding method should discourage casual
sniffers, but is not as secure as PGP.  Other methods should
be used only for registration companies other than Kagi.

Credit Card Numbers

For security reasons, I dont let you store your credit card
number.  Sorry.  But if youve stored the number somewhere
else, you can enter the entire number (or NetCash
certificate) into the first field. 

Caveat

If you try to register one of the programs beneath the In
Your Extras line, if the author has not given Kagi Shareware
permission to collect payments, Kagi will try to email you
notification that your registration did not succeed.  
Authors interested in receiving checks from Kagi Shareware
should send their mailing address and developer signature to
shareware@kagi.com.  For use of this program with shareware
clearing houses other than Kagi Shareware, see below, under
For Programmers.

Cash and Checks

Kagi Shareware can accept checks in US dollars, or cash in
many major currencies.  But please dont send cash or checks
until you have received a registration number which must
accompany your payment.  To do this, select the program you
wish to pay for, and send an email message with the payment
method set to Query.  You will receive an email reply with
further instructions.


Beta Note

Changes the user makes after pressing the action button are
not reflected in anything Register reports. 
Theres a fairly nasty intermittent -10401 error if Pocket
Money is on a card, Register posts a transaction to it, and
the card is removed and reinserted.  Were looking into this.
 
An Easter Egg: if a user beams you a registration, Put Away
will print the information in the Inspector, then delete it.

For Programmers

ProtoMoneyButton

If you want to add a registration button to your package, I
provide sample code to make this almost trivial, available
on my home page.  In the simplest case, just make sure that
the constants  kAppSymbol and kSharewareFee are defined, add
the file MoneyButtonProto to your project, and drag out an
instance of a ProtoMoneyButton.  This will put a $ button on
your packages status bar.  When the user presses the button,
Register will be opened with your package and shareware fee

selected.

SharewareFee slot

I  suggest that programmers who dont want to use a
protoMoneyButton at least put a slot at the top level of
their packages named SharewareFee, preferably containing an
integer number of US dollars.  
Register will also report the value of a top level slot
named Version or VersionString. 

The :IPaid() Method

After the user has successfully entered his credit card
number and selected your package, Register will try to call
your top-level method entitled :IPaid(frame), if it exists. 
See the sample code for details; one possible use is, if you
have a nag dialog for unregistered users, to disable it for
a week or two, presumably until youve been notified of the
users registration.

An Open Standard

The sample code shows how to do a great deal more
customization.  In particular, you dont have to have your
shareware payments sent to Kagi; you can even use my sample
code to call another registration package.  The sample code
and the :ExternalRegister(RegFrame) protocol are free to be
modified and used for any reasonable purpose, specifically
including use with competing registration programs and
shareware clearing houses.  I intend this to be a fully open
standard.

Other Clearing Houses

A competing shareware clearing house can even supply its own
encoding method by using the EncodingType and
EncodingFunction slots in the registration frame.  The
normal encoding scheme is proprietary to Kagi; I will supply
the decoding algorithm for the minimal encoding scheme to
any clearing house of whose good faith I am convinced.  Note
that the supplemental encoding function in the sample code
is for illustrative purposes only and may not deter a
skilled cryptanalyst.

Shareware Fee

Register itself is freely distributable but not free; its
shareware, but with an unusual fee structure.  If your users
use it to register your software with Kagi, you dont have to
worry about the fee; my 1% royalty will be collected by
Kagi.  For use with other shareware clearing houses (or if
you have the payment sent to you directly), the shareware
fee for using Register (not the sample code) is still 1%,
payable by the recipient of the payment.


Where to get

ScrollingDoPopup

Hardy Macias ScrollingDoPopup extension should be available
on CompuServe, America OnLine, eWorld, the University of
Iowa Newton Archive <URL:
ftp://newton.uiowa.edu/pub/newton/>, and on my home page at
<URL:
ftp://ftp.rahul.net/pub/flasheridn/
hardymacia/ScrollingDoPopup.sit.hqx>

Financial Package Posting Standard

The specifications for the Financial Package Posting
Standard should be in the above places or 
<URL:ftp://ftp.rahul.net/pub/
flasheridn/hardymacia/
FinancialPostingStandard.txt>

My Stuff

The registration sample code should be at
<URL:ftp://ftp.rahul.net/pub/
flasheridn/developers/
RegisterSampleCode.sit.hqx>

The latest version of Register should be at
<URL:ftp://ftp.rahul.net/pub/
flasheridn/Register.sit.hqx>

Kagi Shareware
1442-A Walnut Street #392
Berkeley, California, 94709-1405 USA
Email: shareware@kagi.com 
FAX: +1 510 652 6589

Dont send checks or money to this address until you have
received confirmation that Kagi can accept payment for the
program you are trying to register, and a registration
number, which must accompany your payment.  Cash received
without a confirmation number may be donated to charity, and
checks may be shredded.

The Author

Please send any comments about this program to
FlaSheridn@kagi.com.  

Flash Sheridan
180A Hamilton Avenue #601
Palo Alto, California 94301-1682
<URL:ftp://ftp.rahul.net/pub/flasheridn/>
<URL:http://www.rahul.net/flasheridn/>

Copyright and Acknowledgment

This program may be freely distributed, and is free to end
users; 1994 Flash (K.J.) Sheridan.  Programmers and
shareware clearing houses should see above for licensing
details.
It was inspired by Peter N Lewiss Register for the
Macintosh, but problems with the Newton version are not his 
fault.  Thanks to Chris Owen for the credit card checking
code, and to Hardy Macia for the button icon. 

Version 1.01
